package com.hex.ds.hdtp.core.app.data.transfer.service;

import com.hex.ds.hdtp.core.app.common.service.IBasicService;
import com.hex.ds.hdtp.core.app.data.transfer.dto.request.DataTransferTaskRequestDto;
import com.hex.ds.hdtp.core.app.data.transfer.dto.response.DataTransferDownwardNumResponseDto;

import java.util.List;

/**
 * @Package: com.hex.ds.hdtp.core.app.data.transfer.service
 * @ClassName IDataTransferTaskService
 * @Description: 数据迁移任务-业务接口
 * @Author: wz.li
 * @Date 2023/8/17 19:58
 * @Version v2.0.2
 **/
public interface IDataTransferTaskService extends IBasicService<DataTransferTaskRequestDto> {

    String addDataTransferTask(DataTransferTaskRequestDto dataTransferTaskRequestDto);

    /*
     * @Method: modifySuccessNum <br>
     * @Param: [pkId] <br>
     * @Return: void <br>
     * @Description：更新数据同步任务成功数量<br>
     * @Author： wz.li<br>
     * @Date： 2023/8/22 19:33 <br>
     * @Version： V2.0.2<br>
     */
    void modifySuccessNum(String pkId);

    /*
     * @Method: modifyFailNum <br>
     * @Param: [pkId] <br>
     * @Return: void <br>
     * @Description：更新数据同步任务失败数量<br>
     * @Author： wz.li<br>
     * @Date： 2023/8/22 19:34 <br>
     * @Version： V2.0.2<br>
     */
    void modifyFailNum(String pkId);

    /*
     * @Method: modifyStatus <br>
     * @Param: [pkId] <br>
     * @Return: void <br>
     * @Description：更新数据同步任务状态<br>
     * @Author： wz.li<br>
     * @Date： 2023/8/22 19:34 <br>
     * @Version： V2.0.2<br>
     */
    void modifyStatus(String pkId);


    /**
     * @Method queryDownNum
     * @Param
     * @Param taskIdList
     * @Return java.util.List<com.hex.ds.hdtp.core.app.data.transfer.dto.response.DataTransferDownwardNumRequestDto>
     * @Description 下数信息合并
     * @Author xin.zhao
     * @Date 2023/10/20 11:24
     * @Version V1.0
     */
    List<DataTransferDownwardNumResponseDto> queryDownNum(DataTransferTaskRequestDto dataTransferTaskRequestDto);


    /**
     * @Method batchRemoveById
     * @Param
     * @Param pkIds
     * @Return void
     * @Description 数据迁移任务删除
     * @Author xin.zhao
     * @Date 2023/11/1 18:13
     * @Version V1.0
     */
    void batchRemoveById(List<String> pkIds);
    /*
     * @param dataTransferTaskRequestDto:
     * @return String
     * @author Liang Fuhao
     * @description 新增并返回Id
     * @date 2024/1/19 14:56
     */
    String addWithBackId(DataTransferTaskRequestDto dataTransferTaskRequestDto);

}
